import { reqGetUserInfo } from '@/api/user'

// 只存储和用户相关的数据
const state = {
  // 存储用户的基本资料
  userInfo: {}
}
const mutations = { // （第二个参数 提供什么数据更新什么数据
  setUserInfo (state, newUserInfo) {
    state.userInfo = newUserInfo
  }

} // 同步修改仓库的数据方法
const actions = {
  async getUserInfo (context) { // 异步
    const { data } = await reqGetUserInfo() // 用户信息

    if (data.code === 0) {
      context.commit('setUserInfo', data.data)
    }
  }
} // 异步
const getters = {
  defaultImg (state) {
    return state.userInfo.username ? state.userInfo.username.slice(0, 1).toUpperCase() : ''
  }

} // 计算属性
export default {
  namespaced: true, // 开启命名 所得mutations actions getters都会注册到我们的局部空间
  state,
  mutations,
  actions,
  getters
}
